//
//  BPStatusListView.swift
//  BPWeiBo
//
//  Created by apple on 16/4/11.
//  Copyright © 2016年 apple. All rights reserved.

//首页
import UIKit

class BPStatusListView: NSObject {
    
    ///微博创建的时间
    var created_at:String?
    ///微博的唯一的id
    var id:Int64 = 0
    ///微博的正文
    var text:String?
    ///微博的来源
    var source:String?
    ///用户的属性
    var user:BPHomeUser?
    
    ///微博转发的数量
    var reposts_count:Int = 0
    ///微博评论的数量
    var comments_count:Int = 0
    ///微博点赞的数量
    var attitudes_count:Int = 0
    
    ///设置转发微博的属性
    var retweeted_status:BPStatusListView?
    
    ///设置原创微博和转发微博的图片
    var pic_urls:[BPPictureView]?
    
//    ///微博的创建时间
//    var created_at:String?
//    ///微博的来源
//    var source:String?
//    
    
    //字典转模型
    init(dict:[String : AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
        
    }
    //防止出现遗漏1
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
    
    //因为是模型嵌套,模型,所以需要在setValueforkey中将user字典转模型
    override func setValue(value: AnyObject?, forKey key: String) {

        if key == "user" {
            user = BPHomeUser(dict: (value as? [String : AnyObject])!)
            return
        }
        
        //将转发微博懒加载
        if key == "retweeted_status" {
            
            //将转发微博字典转模型
            retweeted_status = BPStatusListView(dict: value as! [String : AnyObject])
            return
        }
        
        //将图片视图懒加载
        if key == "pic_urls" {
            //获取图片数组
            let array = value as! [[String : String]]
            //设置可变的数组
            var arr = [BPPictureView]()
            //遍历上面获取到的字典,将字典转换成为模型
            for dic in array {
                let picModel = BPPictureView(dict: dic)
                arr.append(picModel)
            }
            pic_urls = arr
            return
        }
        
        super.setValue(value, forKey: key)
    }
    

}
